1. Technical Field
This application generally relates to communication connections, and more particularly to techniques used for persistence of communication connections.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. Such storage devices are provided, for example, by EMC Corporation of Hopkinton, Mass. and disclosed in U.S. Pat. No. 5,206,939 to Yanai et al., U.S. Pat. No. 5,778,394 to Galtzur et al., U.S. Pat. No. 5,845,147 to Vishlitzky et al., and U.S. Pat. No. 5,857,208 to Ofek. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units, logical devices or logical volumes. The logical disk units may or may not correspond to the actual physical disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data stored therein.
Two components having connectivity to one another, such as a host and a data storage system, may communicate using a communication connection, such as over a TCP (Transmission Control Protocol) connection. An operation may be performed on the data storage system which may be characterized as a disruptive upgrade. Such upgrades may include reloading code of the data storage system which, in turn, affects any existing TCP connections and data being transmitted over such connections. When the code of the data storage system is reloaded, existing code of the operating system, applications, the TCP communications layer, and the like, may be reloaded causing loss of existing TCP connections such as with the host. As a result, communications between the host and data storage system using such TCP connections may be disrupted, subject to possible data losses (e.g., such as for buffered data currently being transmitted), and the like. Furthermore, the disruptive code reload on the data storage system is typically not transparent to applications executing on the host and data storage system which may use those TCP connections.
One approach for use in connection with the foregoing is to have a separate computer processor of the data storage system maintain the TCP connections and not reload this processor's code. Using this approach, the TCP connections may be maintained by not subjecting the processor to reload while the TCP connections are still in use. However, disadvantages include requiring use of a separate processor for this particular purpose and ensuring no code reload processing is performed for this processor.